Scroll to navigation

chdir(2) 2007-10-27-16:31 chdir(2)

Назва

chdir, fchdir - змінює робочу директорію

Звід

#include <unistd.h>

int chdir(const char * path );

int fchdir(int fd );

Опис

chdir змінює поточну директорію на директорію визначену в шляху path .

fchdir є ідентичним до chdir , лише директорія подається як відкритий дескриптор файлу.

Повернене значення

При вдалому завершенні повертає нуль. При помилковому повертає -1 , та відповідно виставляє errno .

Помилки

В залежності від файлової системи, можуть бути повернені різні помилки. Більшість загальних помилок для chdir є подано нижче:

path (шлях) вказує поза межі доступного вам адресного простору.
path (шлях) дуже довгий.
Файл не існує.
Ядру не достатньо доступної пам'яті.
Складова шляху path не є директорією.
Не достатньо прав для пошуку в складових шляху path .
Дуже багато символічних посилань, що замикають в коло шлях path .
Сталася помилка вводу/виводу.

Загальні помилки для fchdir подано нижче:

Дескриптор файлу fd не вірний.
Недостатньо прав для пошуку в директорії що відкрита в fd .

Застереження

Прототип для fchdir доступний, лише якщо визначено _BSD_SOURCE (явно, чи неявно, не визначаючи _POSIX_SOURCE чи компілюючи з ключем -ansi).

Відповідність

Виклик chdir сумісний з SVr4, SVID, POSIX, X/OPEN, 4.4BSD. Документи SVr4 додатково містять коди помилок EINTR, ENOLINK і EMULTIHOP, але не мають ENOMEM. POSIX.1 не має стану помилок ENOMEM і ELOOP. X/OPEN не має стану помилок EFAULT, ENOMEM і EIO. Виклик fchdir сумісний з SVr4, 4.4BSD and X/OPEN. SVr4 додатково містять коди помилок EIO, EINTR, and ENOLINK. Документи X/OPEN додатково містять коди помилок EINTR і EIO.

Дивись також

getcwd(3), chroot(2)

2007-10-27-16:31 © 2005-2007 DLOU, GNU FDL